home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / glibmm-2.4 / proc / m4 / property.m4 < prev    next >
M4 Source File  |  2006-04-20  |  1KB  |  37 lines

  1. dnl $Id: property.m4,v 1.5 2005/02/13 14:30:19 murrayc Exp $
  2.  
  3. dnl
  4. dnl
  5. dnl  Code generation sections for properties
  6. dnl
  7. dnl
  8.  
  9. dnl
  10. dnl _PROPERTY_PROXY(name, name_underscored, cpp_type, proxy_suffix, docs)
  11. dnl proxy_suffix could be "_WriteOnly" or "_ReadOnly"
  12. dnl The method will be const if the propertyproxy is _ReadOnly.
  13. dnl
  14. define(`_PROPERTY_PROXY',`dnl
  15. dnl
  16. dnl Put spaces around the template parameter if necessary.
  17. pushdef(`__PROXY_TYPE__',`dnl
  18. Glib::PropertyProxy$4<'ifelse(regexp(_QUOTE($3),`>$'),`-1',_QUOTE($3),` '_QUOTE($3)` ')`>'dnl
  19. )dnl
  20. /** $5
  21.    *
  22.    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
  23.    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
  24.    * the value of the property changes.
  25.    */
  26.   __PROXY_TYPE__ property_$2`'() ifelse($4,_ReadOnly, const,);
  27. _PUSH(SECTION_CC_PROPERTYPROXIES)
  28. __PROXY_TYPE__ __CPPNAME__::property_$2`'() ifelse($4,_ReadOnly, const,)
  29. {
  30.   return __PROXY_TYPE__`'(this, "$1");
  31. }
  32.  
  33. _POP()
  34. popdef(`__PROXY_TYPE__')dnl
  35. ')dnl
  36.  
  37.